/*
 * Quote.h
 *
 */

#ifndef QUOTE_H_
#define QUOTE_H_

#include "../../persistence/hash/HashRecord.h"

class Quote : public HashRecord {
private:
	BigInt id;
	BigInt serviceId;
	BigInt userId;
	String text;
	String date;
	String time;

public:
	Quote();
	virtual ~Quote();

	Quote(BigInt id, BigInt serviceId, BigInt userId, const String& text, const String& date, const String& time);
	Quote(const Quote& copy);
	Quote& operator=(const Quote& other);

	BigInt getId() const { return id; }
	BigInt getServiceId() const { return serviceId; }
	BigInt getUserId() const { return userId; }
	const String& getText() const { return text; }
	const String& getDate() const { return date; }
	const String& getTime() const { return time; }

	void setId(BigInt value) { id = value; }
	void setServiceId(BigInt value) { serviceId = value; }
	void setUserId(BigInt value) { userId = value; }
	void setText(const String& value) { text = value; }
	void setDate(const String& value) { date = value; }
	void setTime(const String& value) { time = value; }

	BigInt getHashcode() const { return id; }
	BigInt size() const;
	void serialize(ISerializer& serializer) const;
	void unserialize(IUnserializer& unserializer);
};

#endif /* QUOTE_H_ */
